package com.newgrand.domain.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @创建人：ZhaoFengjie
 * @修改人：ZhaoFengjie
 * @创建时间：17:11 2022/10/17
 * @修改时间:：17:11 2022/10/17
 */
@Data
@ApiModel(value = "MonthlyValuations", description = "月度验工计价数据data模型")
public class MonthlyValuations {

    @ApiModelProperty(value = "数据对象")
    private MonthlyValuationsData data;

    @Data
    @ApiModel(value = "MonthlyValuationsData", description = "月度验工计价数据monthlyValuations模型")
    public class MonthlyValuationsData {

        @ApiModelProperty(value = "月度验工计价数据数组")
        private List<MonthlyValuationsMain> monthlyValuations;

        @Data
        @ApiModel(value = "MonthlyValuationsItem", description = "月度验工计价数据MonthlyValuationsItem模型")
        public class MonthlyValuationsMain {

            @ApiModelProperty(value = "计价id")
            private Long id;
            @ApiModelProperty(value = "合同全称")
            private String name;
            @ApiModelProperty(value = "合同id")
            private Long subcontractId;
            @ApiModelProperty(value = "计价期数")
            private Integer valuationNo;
            @ApiModelProperty(value = "计价开始日期")
            private Date valuationBeginDate;
            @ApiModelProperty(value = "计价结束日期")
            private Date valuationEndDate;
            @ApiModelProperty(value = "创建日期")
            private Date createdAt;
            @ApiModelProperty(value = "合同编号")
            private String subcontractNo;
            @ApiModelProperty(value = "合同简称")
            private String shortName;
            @ApiModelProperty(value = "本期结算不含税金额")
            private BigDecimal amountWithoutTax;
            @ApiModelProperty(value = "本期含税金额")
            private BigDecimal amount;
            @ApiModelProperty(value = "开累不含税金额")
            private BigDecimal cumulativeAmountWithoutTax;
            @ApiModelProperty(value = "开累含税金额")
            private BigDecimal cumulativeAmount;
            @ApiModelProperty(value = "本期税额")
            private BigDecimal taxAmount;
            @ApiModelProperty(value = "开累税额")
            private BigDecimal cumulativeTaxAmount;
            @Ignore
            @ApiModelProperty(value = "清单明细")
            private List<MonthlyValuationsItems.MonthlyValuationsItemsData.MonthlyValuationsDetail> items;
            @Ignore
            @ApiModelProperty(value = "附件清单")
            private List<AttachMentMonthly> attachMentsList;
        }
    }
}
